#version 110

// Las matrices de transformacion
uniform mat4 viewMatrix;
uniform mat4 projectionMatrix;
uniform mat4 modelMatrix;

// Las normales para la iluminacion
uniform mat3 normalMatrix;
varying vec3 normal;

// Para las texturas
varying vec2 coordsTexturaUV;


void main(){
	// Pasa los datos de la textura al fragment shader
	coordsTexturaUV  = gl_MultiTexCoord0;

	// Se necesitan las normales interpoladas, por eso las paso al fragment shader
	normal = normalize( normalMatrix * gl_Normal );

	// Calcula la posicion del vertice
	gl_Position = projectionMatrix * viewMatrix * modelMatrix * gl_Vertex;
}